import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { EntryRoutingModule } from './entry-routing.module';
import { ExtractComponent } from './extract/extract.component';
import { ServiceAlterComponent } from './service-alter/service-alter.component';
import { AccountAlterComponent } from './account-alter/account-alter.component';
import { ServiceQueryComponent } from './service-query/service-query.component';
import { AccountQueryComponent } from './account-query/account-query.component';
import { EntryModelComponent } from './entry-model/entry-model.component';
import { AppPaginationModule } from '../../widgets/pagination/pagination.module';
import { ExtractServiceComponent } from './modal/extract-service/extract-service.component';
import { ExtractAccountComponent } from './modal/extract-account/extract-account.component';
import { ServiceCheckComponent } from './modal/service-check/service-check.component';
import { ContractServiceComponent } from './modal/contract-service/contract-service.component';
import { ContractAccountComponent } from './modal/contract-account/contract-account.component';
import { FormsModule } from '@angular/forms';
import { FlatpickrModule, FLATPICKR } from '../../../assets/angularx-flatpickr';
import * as flatpickr from 'flatpickr';
export function flatpickrFactory() {
  return flatpickr;
}

@NgModule({
  imports: [
    CommonModule,
    EntryRoutingModule,
    FormsModule,
    AppPaginationModule,
    FlatpickrModule.forRoot({
      provide: FLATPICKR,
      useFactory: flatpickrFactory
    })
  ],
  declarations: [
    ExtractComponent,
    ServiceAlterComponent,
    AccountAlterComponent,
    ServiceQueryComponent,
    AccountQueryComponent,
    EntryModelComponent,
    ExtractServiceComponent,
    ExtractAccountComponent,
    ServiceCheckComponent,
    ContractServiceComponent,
    ContractAccountComponent
  ],
  entryComponents: [
    ExtractServiceComponent,
    ExtractAccountComponent,
    ServiceCheckComponent,
    ContractServiceComponent,
    ContractAccountComponent
  ]
})
export class EntryModule { }
